package com.xy.system.mode;

import com.xy.system.mode.act.QpMode;
import com.xy.system.mode.act.SqlMode;

public enum CodeMode {
    //启璞
    qp(new QpMode()),
    sql(new SqlMode());

    private IModeServer modeServer;

    CodeMode(IModeServer server) {
        this.modeServer = server;
    }

    /**
     * 取得指定模式下的所有模板文件
     *
     * @return
     * @throws Exception
     */
    public TemplateSet getNormalFileList() throws Exception {
        TemplateSet vo = modeServer.getNormalFileList();
        vo.init();
        return vo;
    }

    /**
     * 取得模式对应枚举
     *
     * @param code
     * @return
     */
    public static CodeMode getByCode(String code) {
        try {
            return CodeMode.valueOf(code);
        } catch (Exception ex) {
            return null;
        }
    }
}
